{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Hubble Telescope"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "from optiland import optic, physical_apertures"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "class HubbleTelescope(optic.Optic):\n",
    "    \"\"\"Hubble Space Telescope\n",
    "\n",
    "    Milton Laikin, Lens Design, 4th ed., CRC Press, 2007, p. 200\n",
    "    \"\"\"\n",
    "\n",
    "    def __init__(self):\n",
    "        super().__init__()\n",
    "\n",
    "        self.add_surface(index=0, radius=np.inf, thickness=np.inf)\n",
    "        self.add_surface(index=1, thickness=4910.01016)\n",
    "\n",
    "        # add physical aperture in primary mirror\n",
    "        obscuration = physical_apertures.RadialAperture(r_max=np.inf, r_min=177.80035)\n",
    "\n",
    "        self.add_surface(\n",
    "            index=2,\n",
    "            radius=-11040.02286,\n",
    "            thickness=-4910.01016,\n",
    "            material=\"mirror\",\n",
    "            is_stop=True,\n",
    "            conic=-1.001152,\n",
    "            aperture=obscuration,\n",
    "        )\n",
    "        self.add_surface(\n",
    "            index=3,\n",
    "            radius=-1349.31166,\n",
    "            thickness=6365.20955,\n",
    "            material=\"mirror\",\n",
    "            conic=-1.483014,\n",
    "        )\n",
    "        self.add_surface(index=4, radius=-635.38227)\n",
    "\n",
    "        self.set_aperture(aperture_type=\"EPD\", value=2400)\n",
    "\n",
    "        self.set_field_type(field_type=\"angle\")\n",
    "        self.add_field(y=0)\n",
    "        self.add_field(y=0.15)\n",
    "\n",
    "        self.add_wavelength(value=0.55, is_primary=True)\n",
    "\n",
    "        self.update_paraxial()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1000x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "telescope = HubbleTelescope()\n",
    "telescope.draw(num_rays=4)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
